1. Technical Field
The present invention relates to an image processing device, method, and a storage medium which stores a program, and in particular, to an image processing device equipped with an image processing section which is constructed to include one or more image processing modules selected from among plural types of image processing modules, and to an image processing method which can be applied to the image processing device, and to a storage medium which stores an image processing program for making a computer function as the image processing device.
2. Related Art
Various types of image processings, such as enlargement/reduction, rotation, affine transformation, color conversion, filtering processing, image composing are carried out on inputted image data at an image processing device, a DTP (desktop publishing) system, a printing system and the like. In such devices and systems, when the attributes of inputted image data or the contents, procedures, parameters and the like are fixed, the image processings are carried out by hardware which is designed for exclusive use therefor. However, when the attributes are changed variously or when various image data which have different color space or different numbers of bits per pixel are inputted as the inputted image data, a structure of the image processings needs to be changed flexibly. In order to satisfy such a demand, there are some techniques in which programmable processing modules are connected in a pipeline form or a DAG (directed acyclic graph) form.
However, there are the following problems. At each of the image processing modules, there is a unit which is easy to process in accordance with the type and the contents of the image processing (e.g., a unit of a pixel, a unit of one line, a unit of plural lines, a unit of one whole image, or the like). In order to combine the respective image processing modules in an arbitrary order and carry out processings in cooperation with one another, the units of output of all of the image processing modules must be made to be uniform, or each of the image processing modules must be structured. Therefore, the structures of the image processing modules become complex. Further, since each of the image processing modules operates in concert with other image processing modules, each image processing module needs a section which controls the processings of receipt and transfer of image data to and from the other image processing modules which are connected to its own module in addition to a section which actually carries out image processing on the inputted image data. Therefore, the structure of each image processing module becomes even more complex.
Moreover, each buffer memory is structured to hold a region corresponding to the processing contents of the image processing modules connected therebefore and thereafter, and merely functions only to hold the midway progress of the processings. Therefore, when a given image processing module is changed, the capacities need to be changed in accordance with the processing contents of that image processing module and the processing contents of the image processing modules which are before and after the buffer memories or the like.